namespace Atlantis
{
    public class Presenter<TView> : Object
    {
        private TView view;
        private Registry registry;

        public Registry Registry
        {
            get
            {   
                return this.registry;
            }
        }
                
        public TView View
        {
            get
            {
                return this.view;
            }
            set
            {
                this.view = value;
                this.OnViewSet();
            }
        }

        public Presenter(Registry registry)
        {
            this.registry = registry;
        }

        protected virtual void OnViewSet()
        {
            
        }
    } 
}
